package com.ctshk.rpc.tour.req;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * @author pf
 */
@Data
@ApiModel(value = "TripCostSharingReq对象", description = "默认成本分摊对象")
public class TripCostSharingReq implements Serializable {


    @NotNull(message = "行程不能为空")
    @ApiModelProperty(value = "行程id")
    private Long tripId;

    @NotNull(message = "成本分摊模板类型不能为空")
    @ApiModelProperty(value = "成本分摊模板类型（1：默认 2：自定义）")
    private Integer costSharingType;

    @ApiModelProperty(value = "默认成本属性（当模板类型为1时候，填充整个数据）")
    private List<TripDefaultCostReq> costReqList;

    @ApiModelProperty(value = "自定义成本属性（当模板类型为2时候，填充整个数据）")
    private List<TripCustomCostReq> customCostReqList;

    @ApiModelProperty(value = "自定义年龄段和日期类型（当模板类型为2时候，填充整个数据）")
    private TripCustomTreeReq tripCustomTree;

    @ApiModelProperty(value = "自营权限类型 （1：自营禁售 2：所有部门 3：自定义）")
    private Integer selfSalePermissionType;

    @ApiModelProperty(value = "代理商权限类型(1 代理禁售2 所有代理3 自定义）")
    private Integer agentSalePermissionType;

    @ApiModelProperty(value = "自营渠道")
    private List<OwnChannelReq> ownChannelList;

    @ApiModelProperty(value = "代理商")
    private List<AgentChannelReq> agentChannelList;

    @ApiModelProperty(value = "官方平台")
    private List<OfficialReq> officialList;

    @ApiModelProperty(value = "第三方平台")
    private List<OtherPlatformsReq> otherPlatformsList;

    @NotNull(message = "提交类型不能为空")
    @ApiModelProperty(value = "提交类型（1：保存 2：提交审批）")
    private Integer commitType;

}
